

#include <stdio.h>

//int searchInsert(int* nums, int numsSize, int target)
//{
//    int left = 0, right = numsSize - 1;
//
//    while (left <= right)
//    {
//        int mid = ((right - left) >> 1) + left;
//
//        if (target > nums[mid])
//            left = mid + 1;
//        else if (target < nums[mid])
//            right = mid - 1;
//        else
//            return mid;
//    }
//
//    return left;
//}
//
//int main()
//{
//    int nums[] = { 1, 3, 5, 6 };
//    int numsSize = sizeof(nums) / sizeof(nums[0]);
//
//    printf("%d\n", searchInsert(nums, numsSize, 2));
//
//    return 0;
//}

// 01
// int* runningSum(int* nums, int numsSize, int* returnSize)
// {
//     *returnSize = numsSize;
//
//     int* ans = (int*)malloc(sizeof(int)*numsSize);
//     assert(ans);
//
//     int preSum = 0;
//     for (int i = 0;  i < numsSize; ++i)
//     {
//         preSum += nums[i];
//         ans[i] = preSum;
//     }
//
//     return ans;
// }

// 02
int* runningSum(int* nums, int numsSize, int* returnSize)
{
    *returnSize = numsSize;

    int preSum = 0;
    for (int i = 0; i < numsSize; ++i)
    {
        preSum += nums[i];
        nums[i] = preSum;
    }

    return nums;
}

int main()
{


    return 0;
}